package com.boyi.db.entity;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;

/**
 * @author tingwen
 */
@Table(name = "`user`")
public class User implements Serializable {
	/**
	 * UUID
	 */
	@Id
	@Column(name = "`user_id`")
	private String userId;

	/**
	 * 用户名
	 */
	@Column(name = "`username`")
	private String username;

	/**
	 * 密码
	 */
	@Column(name = "`password`")
	private String password;

	/**
	 * 通知url
	 */
	@Column(name = "`notify_url`")
	private String notifyUrl;

	/**
	 * 通知状态 0. 待通知  1.通知完成
	 */
	@Column(name = "`state`")
	private Short state;

	/**
	 * 创建时间
	 */
	@Column(name = "`create_time`")
	private Date createTime;

	/**
	 * 获取UUID
	 *
	 * @return user_id - UUID
	 */
	public String getUserId() {
		return userId;
	}

	/**
	 * 设置UUID
	 *
	 * @param userId UUID
	 */
	public void setUserId(String userId) {
		this.userId = userId == null ? null : userId.trim();
	}

	/**
	 * 获取用户名
	 *
	 * @return username - 用户名
	 */
	public String getUsername() {
		return username;
	}

	/**
	 * 设置用户名
	 *
	 * @param username 用户名
	 */
	public void setUsername(String username) {
		this.username = username == null ? null : username.trim();
	}

	/**
	 * 获取密码
	 *
	 * @return password - 密码
	 */
	public String getPassword() {
		return password;
	}

	/**
	 * 设置密码
	 *
	 * @param password 密码
	 */
	public void setPassword(String password) {
		this.password = password == null ? null : password.trim();
	}

	/**
	 * 获取通知url
	 *
	 * @return notify_url - 通知url
	 */
	public String getNotifyUrl() {
		return notifyUrl;
	}

	/**
	 * 设置通知url
	 *
	 * @param notifyUrl 通知url
	 */
	public void setNotifyUrl(String notifyUrl) {
		this.notifyUrl = notifyUrl == null ? null : notifyUrl.trim();
	}

	/**
	 * 获取通知状态 0. 待通知  1.通知完成
	 *
	 * @return state - 通知状态 0. 待通知  1.通知完成
	 */
	public Short getState() {
		return state;
	}

	/**
	 * 设置通知状态 0. 待通知  1.通知完成
	 *
	 * @param state 通知状态 0. 待通知  1.通知完成
	 */
	public void setState(Short state) {
		this.state = state;
	}

	/**
	 * 获取创建时间
	 *
	 * @return create_time - 创建时间
	 */
	public Date getCreateTime() {
		return createTime;
	}

	/**
	 * 设置创建时间
	 *
	 * @param createTime 创建时间
	 */
	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}
}